一颗小球的畅想 弹球游戏的设计与实现(Java) 您所在的位置:网站首页 弹力球 小游戏 一颗小球的畅想 弹球游戏的设计与实现(Java)

一颗小球的畅想 弹球游戏的设计与实现(Java)

2024-07-11 05:58| 来源: 网络整理| 查看: 265

个人公众号:【小猿君的算法笔记】

最近学了一些 Java 的图形界面编程,因此想自己写一个小游戏试试身手,思来想去,弹球小游戏还是挺简单的,一个球拍,一个小球,使用球拍接住小球,保证小球不掉下去。在网上找了一些参考资料,感觉设计的都不怎么“面向对象”,于是自己也写了一个——一颗小球的畅想,对原来的游戏做了一些功能的增强。目前的功能还有许多不足的地方,因此暂定为 v1.0 版本。

1、游戏运行效果图

游戏开始界面 在这里插入图片描述 游戏结束界面 在这里插入图片描述

2、功能需求分析

弹球游戏需要以下功能: (1)游戏界面展示:游戏界面具有两个球拍,界面上方一个,界面下方一个,同时界面中央有一个红色的小球。 (2)移动小球:游戏开始时小球能够按照一定的速度朝某一个方向进行移动,当小球遇到障碍物,能够自动的反弹。 (3)移动球拍:通过点击键盘左键和键盘右键可以实现两个球拍的左右移动。

3、面向对象程序设计

通过以上的分析,我将这个程序的实体类进行了提取,并划分为不同的模块。 在这里插入图片描述

Constant 类:用于存放游戏中的常量数据 Ball 类:球类 GameView 类:游戏视图类 Racket 类:球拍类 Rule 类:游戏规则类 GameApplication 类:游戏启动类

4、代码实现

Constant 类的设计与实现 首先看一下 Constant 类,其包含以下信息,这些信息是后来添加的,但为了方便后续的代码查看,先放出来。

public class Constant { // 桌面宽高 public static final int TABLE_WIDTH = 400; public static final int TABLE_HEIGHT = 600; // 球的大小 public static final int BALL_SIZE = 16; // 球的颜色 public static final Color BALL_COLOR = Color.RED; // 球的速度 public static final int speedX = 5; public static final int speedY = 10; // 球拍长宽 public static final int racketWidth = 60; public static final int racketHeight = 20; // 球拍颜色 public static final Color RACKET_COLOR = Color.LIGHT_GRAY; // 球拍每次移动距离 public static final int moveLength = 10; }

球类 Ball 的设计与实现 球类需要包含以下属性:球的大小、球的颜色、球的位置坐标、球的 X 轴 Y 轴速度大小。

// 大小 private int ballSize = Constant.BALL_SIZE; // 颜色 private Color color = Constant.BALL_COLOR; // 坐标位置 private int ballX; private int ballY; // 速度大小 private int speedX = Constant.speedX; private int speedY = Constant.speedY;

在构造小球时,需要传入两个参数,ballX 和 ballY 来确定小球的位置。

public Ball(int ballX, int ballY) { this.ballX = ballX; this.ballY = ballY; }

小球移动,需要根据速度 speedX 和 speedY 来改变小球的位置



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有